diff options
| author | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-08-27 12:06:26 +0000 |
|---|---|---|
| committer | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-08-27 12:06:26 +0000 |
| commit | 7548e2ad6948f1c6aa102fcac408bc6c9c0f9796 (patch) | |
| tree | 8e66703ec821888ad51dcc242a508813a027bf71 /app/[lng]/partners/(partners)/bid/page.tsx | |
| parent | 7eac558470ef179dad626a8e82db5784fe86a556 (diff) | |
(대표님, 최겸) 기본계약, 입찰, 파일라우트, 계약서명라우트, 인포메이션, 메뉴설정, PQ(메일템플릿 관련)
Diffstat (limited to 'app/[lng]/partners/(partners)/bid/page.tsx')
| -rw-r--r-- | app/[lng]/partners/(partners)/bid/page.tsx | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/app/[lng]/partners/(partners)/bid/page.tsx b/app/[lng]/partners/(partners)/bid/page.tsx new file mode 100644 index 00000000..bcb2ad25 --- /dev/null +++ b/app/[lng]/partners/(partners)/bid/page.tsx @@ -0,0 +1,51 @@ +import { PartnersBiddingList } from '@/lib/bidding/vendor/partners-bidding-list' +import { Suspense } from 'react' +import { Skeleton } from '@/components/ui/skeleton' +import { getServerSession } from 'next-auth' +import { authOptions } from "@/app/api/auth/[...nextauth]/route" + +export default async function PartnersBidPage() { + // 세션에서 companyId 가져오기 + const session = await getServerSession(authOptions) + const companyId = session?.user?.companyId + + if (!companyId) { + return ( + <div className="container mx-auto py-6"> + <div className="text-center"> + <h1 className="text-2xl font-bold text-destructive">회사 정보가 없습니다. 다시 로그인 해주세요.</h1> + </div> + </div> + ) + } + + return ( + <div className="container mx-auto py-6 space-y-6"> + <div className="flex items-center justify-between"> + <div> + <h1 className="text-3xl font-bold">입찰 참여</h1> + <p className="text-muted-foreground mt-2"> + 참여 가능한 입찰 목록을 확인하고 응찰하실 수 있습니다. + </p> + </div> + </div> + + <Suspense fallback={<BiddingListSkeleton />}> + <PartnersBiddingList companyId={companyId} /> + </Suspense> + </div> + ) +} + +function BiddingListSkeleton() { + return ( + <div className="space-y-4"> + <Skeleton className="h-12 w-full" /> + <div className="space-y-2"> + {Array.from({ length: 5 }).map((_, i) => ( + <Skeleton key={i} className="h-16 w-full" /> + ))} + </div> + </div> + ) +} |
